package com.spring.boot.controller;

import java.io.File;
import java.io.IOException;

import com.spring.boot.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

/**
 * 文件上传测试
 * @author god
 *
 */
@Controller
public class FormTestController {

	@Autowired
	public UserService userService;


	@ResponseBody
	@RequestMapping("/upload")// 固定写法
	public String upload(@RequestPart("headerImg") MultipartFile headerImg// 单个文件上传
//					,@RequestPart("photos") MultipartFile[] photos// 多个文件上传
			) throws IllegalStateException, IOException {
		
		if(!headerImg.isEmpty()) {
			String originalFilename = headerImg.getOriginalFilename();// 获取文件名
			headerImg.transferTo(new File("/usr/yywl/files/"+originalFilename));// 保存文件到该路径下
		}
		
//		if(photos.length > 0) {
//			for(MultipartFile photo : photos) {
//				if(!photo.isEmpty()) {
//					String originalFilename = photo.getOriginalFilename();// 获取文件名
//					photo.transferTo(new File("/usr/yywl/files/"+originalFilename));// 保存文件到该路径下
//				}
//			}
//		}
		
		
		
		return "success";
	}

	@ResponseBody
	@RequestMapping("/sss")// 固定写法
	public Object sss(){
		return "aaaa";
	}



//	@PostMapping("/uploadFile")
//	public String uploadImg(@RequestParam("file") MultipartFile file, @RequestParam("equipmentId") String equipmentId) {
//		String baseDir = "./imgFile";  // 这里不能直接使用相对路径
//		if (!file.isEmpty()) {
//			String name = file.getOriginalFilename();
//			String prefix = name.lastIndexOf(".") != -1 ? name.substring(name.lastIndexOf(".")) : ".jpg";
//			String path = UUID.randomUUID().toString().replace("-", "") + prefix;
//			try {
//				// 这里代码都是没有问题的
//				File filePath = new File(baseDir, path);
//				// 第一次执行代码时，路径是不存在的
//				logger.info("文件保存路径：{}，是否存在：{}", filePath.getParentFile().exists(), filePath.getParent());
//				if (!filePath.getParentFile().exists()) {   // 如果存放路径的父目录不存在，就创建它。
//					filePath.getParentFile().mkdirs();
//				}
//				// 如果路径不存在，上面的代码会创建路径，此时路径即已经创建好了
//				logger.info("文件保存路径：{}，是否存在：{}", filePath.getParentFile().exists(), filePath.getParent());
//				// 此处使用相对路径，似乎是一个坑！
//				// 相对路径：filePath
//				// 绝对路径：filePath.getAbsoluteFile()
//				logger.info("文件将要保存的路径：{}", filePath.getPath());
//				file.transferTo(filePath);
//				logger.info("文件成功保存的路径：{}", filePath.getAbsolutePath());
//				return "上传成功";
//			} catch (Exception e) {
//				logger.error(e.getMessage());
//			}
//		}
//		return "上传失败";
//	}

}
